package fiuba.td.fabrica.view.frames;

import java.awt.Dimension;

import javax.swing.JPanel;

import fiuba.td.fabrica.constants.GlobalConstants;
import fiuba.td.fabrica.controller.Controller;
import fiuba.td.fabrica.controller.ControllerSelection;
import fiuba.td.fabrica.model.vos.Posicion;
import fiuba.td.fabrica.view.elements.IconoJLabel;

public class EscenarioPanel extends JPanel {

	private IconoJLabel matrizTerreno[][];
	
	public EscenarioPanel(Dimension dimension){
		this.setPreferredSize(dimension);
		
		// Sacar estos valores del terreno
		int CantidaEtiquetasdAlto = ControllerSelection.getInstance().getTerrenoSeleccionado().getTamanio().getLargo() / GlobalConstants.TAMANIO_ELEMENTOS_FABRICA;
		int CantidadEtiquetasAncho = ControllerSelection.getInstance().getTerrenoSeleccionado().getTamanio().getAncho() / GlobalConstants.TAMANIO_ELEMENTOS_FABRICA;
		int posicionEtiquetaX;
		int posicionEtiquetaY;
		matrizTerreno = new IconoJLabel[CantidaEtiquetasdAlto][CantidadEtiquetasAncho];
		this.setLayout(null);

		for (int i=0; i< CantidadEtiquetasAncho; i++){
			for (int j=0; j < CantidaEtiquetasdAlto; j++) {			
				// Inicializo el terreno
				posicionEtiquetaX = i * GlobalConstants.TAMANIO_ELEMENTOS_FABRICA;
				posicionEtiquetaY = j*GlobalConstants.TAMANIO_ELEMENTOS_FABRICA;
				
				IconoJLabel iconJLabel = new IconoJLabel(new Posicion(j,i));
				iconJLabel.setBounds(posicionEtiquetaX, posicionEtiquetaY , GlobalConstants.TAMANIO_ELEMENTOS_FABRICA, GlobalConstants.TAMANIO_ELEMENTOS_FABRICA);
				iconJLabel.setMouseListener(Controller.getInstance().getIconoJLabelController(iconJLabel));
				this.add(iconJLabel);
				matrizTerreno[j][i] = iconJLabel;
			}
		}
		
		ControllerSelection.getInstance().setMatrizTerreno(matrizTerreno);
	}

}
